package controller
{
	import controller.signal.FileUploadChangeSignal;
	import controller.signal.FileUploadProgressSignal;
	
	import flash.display.DisplayObjectContainer;
	
	import model.SaveTapeModel;
	
	import service.SaveTapeService;
	import service.UploadSkinService;
	
	import subumbo.leg.controller.SubumboLegContext;
	import subumbo.leg.controller.signal.ApplicationReadySignal;
	
	import view.background.Background;
	import view.background.BackgroundMediator;
	import view.create.Create;
	import view.create.CreateMediator;
	import view.create.signal.SaveTapeSignal;
	import view.progress.Progress;
	import view.progress.ProgressMediator;
	import view.wrapper.Wrapper;
	import view.wrapper.WrapperMediator;

	public class MixTapeAdminContext extends SubumboLegContext
	{
		public function MixTapeAdminContext(contextView:DisplayObjectContainer)
		{
			super(contextView);
		}
		
		public override function startup():void {
			super.startup();
	
			injector.mapSingleton(SaveTapeService);
			injector.mapSingleton(SaveTapeModel);
			injector.mapSingleton(UploadSkinService);
			injector.mapSingleton(FileUploadProgressSignal);
			injector.mapSingleton(FileUploadChangeSignal);
			injector.mapSingleton(SaveTapeService);
	
			mediatorMap.mapView(Background, BackgroundMediator);
			mediatorMap.mapView(Wrapper, WrapperMediator);
			mediatorMap.mapView(Create, CreateMediator);
			mediatorMap.mapView(Progress, ProgressMediator);

			
			
			signalCommandMap.mapSignalClass(ApplicationReadySignal, StartupCommand);
			signalCommandMap.mapSignalClass(SaveTapeSignal, SaveTapeCommand);
		}
		
	}
}